Skip to content

Migrate from poetry to uv #2785

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jul 21, 2025
Merged

Conversation

tothtamas28
Copy link
Contributor

No description provided.

@tothtamas28 tothtamas28 force-pushed the mirate-to-uv branch 2 times, most recently from 1f52d00 to b0b3756 Compare July 17, 2025 15:06
@juliankuners
Copy link
Contributor

I migrated the nix derivation from poetry to uv and refactored the nix derivations at the same time. I also added uv2nix and pyproject-build-systems to the devops configuration for periodic update pull requests, see runtimeverification/devops#242.

I also fixed the broken nix develop shell and refactored the dependencies of both the nix develop shell and kevm derivation.

While doing so, I noticed that the derivation is built with g++. I think that clang might be preferred here for performance reasons. In fact, clang was/is included in the dependencies of the derivation, but not used. To switch out the compiler that is used by default, you typically swap out pkgs.stdenv.mkDerivation with pkgs.clangStdenv.mkDerivation. At the same time, clang cannot actually be removed from the dependencies, because the blockchain-k-plugin build fails if the ar binary is used from gcc instead the ar binary from clang. The build fails somewhere inbetween because the make process ends up in a directory that is then removed, before the make process leaves the directory. Besides that, I didn't debug any further. Again, we might wanna switch to clang entirely anyway. The same should apply for the kontrol derivation.

juliankuners
juliankuners previously approved these changes Jul 18, 2025
Copy link
Contributor

@juliankuners juliankuners left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@juliankuners
Copy link
Contributor

@tothtamas28 Please review the nix part and workflows that I worked on. I can't request a review from you as you are the PR owner.

@juliankuners juliankuners marked this pull request as ready for review July 18, 2025 22:14
@tothtamas28 tothtamas28 dismissed juliankuners’s stale review July 21, 2025 09:55

Dismissing to avoid merging before an approval from Palina or Andrei.

```

To enable the debug symbols for the llvm backend, build using this command:

```sh
poetry -C kevm-pyk run kdist build evm-semantics.llvm --arg enable-llvm-debug=true
uv --project kevm-pyk run -- kdist build evm-semantics.llvm --arg enable-llvm-debug=true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit off-topic, but I wasn't aware of the --project. Until now, I've been using uv run --directory $PATH to run a project when building from source.

Copy link
Contributor

@anvacaru anvacaru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@automergerpr-permission-manager automergerpr-permission-manager bot merged commit bdd3942 into master Jul 21, 2025
34 of 36 checks passed
@automergerpr-permission-manager automergerpr-permission-manager bot deleted the mirate-to-uv branch July 21, 2025 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants